﻿namespace Sidvall.FileSystemManager.Data.Model
{
    public sealed partial class GenericEntityFacade : global::Sidvall.FileSystemManager.Data.Model.EntityFacadeBase
    {
        #region Public Members

        #region RenameConfigManager

        private global::Sidvall.FileSystemManager.Data.Model.EntityManagers.RenameConfigManager<global::Sidvall.FileSystemManager.Data.IRenameConfig, Sidvall.Data.IDataRowProvider<global::Sidvall.FileSystemManager.Data.IRenameConfig>> _RenameConfigManager;
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
        public global::Sidvall.FileSystemManager.Data.Model.EntityManagers.RenameConfigManager<global::Sidvall.FileSystemManager.Data.IRenameConfig, Sidvall.Data.IDataRowProvider<global::Sidvall.FileSystemManager.Data.IRenameConfig>> RenameConfigManager
        {
            get
            {
                return _RenameConfigManager;
            }
            private set
            {
                _RenameConfigManager = value;
            }
        }

        #endregion
        #region CleanConfigManager

        private global::Sidvall.FileSystemManager.Data.Model.EntityManagers.CleanConfigManager<global::Sidvall.FileSystemManager.Data.ICleanConfig, Sidvall.Data.IDataRowProvider<global::Sidvall.FileSystemManager.Data.ICleanConfig>> _CleanConfigManager;
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
        public global::Sidvall.FileSystemManager.Data.Model.EntityManagers.CleanConfigManager<global::Sidvall.FileSystemManager.Data.ICleanConfig, Sidvall.Data.IDataRowProvider<global::Sidvall.FileSystemManager.Data.ICleanConfig>> CleanConfigManager
        {
            get
            {
                return _CleanConfigManager;
            }
            private set
            {
                _CleanConfigManager = value;
            }
        }

        #endregion
        #region PathNameManager

        private global::Sidvall.FileSystemManager.Data.Model.EntityManagers.PathNameManager<global::Sidvall.FileSystemManager.Data.IPathName, Sidvall.Data.IDataRowProvider<global::Sidvall.FileSystemManager.Data.IPathName>> _PathNameManager;
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
        public global::Sidvall.FileSystemManager.Data.Model.EntityManagers.PathNameManager<global::Sidvall.FileSystemManager.Data.IPathName, Sidvall.Data.IDataRowProvider<global::Sidvall.FileSystemManager.Data.IPathName>> PathNameManager
        {
            get
            {
                return _PathNameManager;
            }
            private set
            {
                _PathNameManager = value;
            }
        }

        #endregion
        #region SearchConfigManager

        private global::Sidvall.FileSystemManager.Data.Model.EntityManagers.SearchConfigManager<global::Sidvall.FileSystemManager.Data.ISearchConfig, Sidvall.Data.IDataRowProvider<global::Sidvall.FileSystemManager.Data.ISearchConfig>> _SearchConfigManager;
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
        public global::Sidvall.FileSystemManager.Data.Model.EntityManagers.SearchConfigManager<global::Sidvall.FileSystemManager.Data.ISearchConfig, Sidvall.Data.IDataRowProvider<global::Sidvall.FileSystemManager.Data.ISearchConfig>> SearchConfigManager
        {
            get
            {
                return _SearchConfigManager;
            }
            private set
            {
                _SearchConfigManager = value;
            }
        }

        #endregion
        #region UserConfigurationManager

        private global::Sidvall.FileSystemManager.Data.Model.EntityManagers.UserConfigurationManager<global::Sidvall.FileSystemManager.Data.IUserConfiguration, Sidvall.Data.IDataRowProvider<global::Sidvall.FileSystemManager.Data.IUserConfiguration>> _UserConfigurationManager;
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
        public global::Sidvall.FileSystemManager.Data.Model.EntityManagers.UserConfigurationManager<global::Sidvall.FileSystemManager.Data.IUserConfiguration, Sidvall.Data.IDataRowProvider<global::Sidvall.FileSystemManager.Data.IUserConfiguration>> UserConfigurationManager
        {
            get
            {
                return _UserConfigurationManager;
            }
            private set
            {
                _UserConfigurationManager = value;
            }
        }

        #endregion
        
        #endregion
        #region Helper Members

        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Maintainability", "CA1506:AvoidExcessiveClassCoupling")]
        private void Init()
        {
            this.RenameConfigManager = new global::Sidvall.FileSystemManager.Data.Model.EntityManagers.RenameConfigManager<global::Sidvall.FileSystemManager.Data.IRenameConfig, Sidvall.Data.IDataRowProvider<global::Sidvall.FileSystemManager.Data.IRenameConfig>>(this);
            this.CleanConfigManager = new global::Sidvall.FileSystemManager.Data.Model.EntityManagers.CleanConfigManager<global::Sidvall.FileSystemManager.Data.ICleanConfig, Sidvall.Data.IDataRowProvider<global::Sidvall.FileSystemManager.Data.ICleanConfig>>(this);
            this.PathNameManager = new global::Sidvall.FileSystemManager.Data.Model.EntityManagers.PathNameManager<global::Sidvall.FileSystemManager.Data.IPathName, Sidvall.Data.IDataRowProvider<global::Sidvall.FileSystemManager.Data.IPathName>>(this);
            this.SearchConfigManager = new global::Sidvall.FileSystemManager.Data.Model.EntityManagers.SearchConfigManager<global::Sidvall.FileSystemManager.Data.ISearchConfig, Sidvall.Data.IDataRowProvider<global::Sidvall.FileSystemManager.Data.ISearchConfig>>(this);
            this.UserConfigurationManager = new global::Sidvall.FileSystemManager.Data.Model.EntityManagers.UserConfigurationManager<global::Sidvall.FileSystemManager.Data.IUserConfiguration, Sidvall.Data.IDataRowProvider<global::Sidvall.FileSystemManager.Data.IUserConfiguration>>(this);
        }

        #endregion
        #region Constructors

        public GenericEntityFacade(global::Sidvall.Data.IResourceFactory resourceFactory)
            : base(resourceFactory)
        {
            Init();
        }
        public GenericEntityFacade(global::Sidvall.FileSystemManager.Data.Model.IEntityFacadeManager entityFacadeManager)
            : base(entityFacadeManager)
        {
            Init();
        }

        #endregion
    }
}